#include "CSearchButton.h"
#include <string>
using namespace std;

// 假设有一个全局函数
int globalFunction(int a, int b) {
    return a + b;
}



CSearchButton::CSearchButton(QWidget *parent) :QPushButton(parent)
{
    //防止父窗口影响子窗口样式
    this->setAttribute(Qt::WA_StyledBackground);

    //设置固定高度，因为要保证跟搜索框的一样
    this->setFixedHeight(40);

    //正常样式，因为鼠标放上去样式会改变
    normalStyle();

    // 在Qt中使用双冒号访问全局函数
    int result = ::globalFunction(5, 3);
    qDebug()<<"result="<<result;
}

//鼠标放上去后样式改变
void CSearchButton::enterEvent(QEvent *event)
{
    string qss = R"(QPushButton{
            background-color:#148AFF;
            background-image: url(:/resources/search.png);
            background-repeat: no-repeat;
            background-position:left;
            background-origin:content;
            padding-left:15px; /*图片相对于左边的偏移*/
            text-align:right;  /*文本的对齐方式*/
            padding-right:15px; /*文本相对于右边的偏移*/
            border-radius:20px;
            color:#FFFFFF;
            font-family: \"Microsoft YaHei\";
            font-size: 20px;
        })";

    //设置样式，string转QStringq，用fromStdString
    this->setStyleSheet(QString::fromStdString(qss));

    //设置固定宽度，因为鼠标放上去了样式改变，宽度也会变
    this->setFixedWidth(130);
    this->setText(u8"搜全网");
}

//鼠标离开后就恢复正常样式
void CSearchButton::leaveEvent(QEvent *event)
{
    normalStyle();
}

//正常样式，一样的
void CSearchButton::normalStyle()
{
    string qss = R"(QPushButton{
            background-color:#148AFF;
            background-image: url(:/resources/search.png);
            background-repeat: no-repeat;
            background-position: center;
            border-radius:20px;
        })";

    this->setStyleSheet(QString::fromStdString(qss));

    this->setFixedWidth(60);
    this->setText(u8"");
}
